package algorithms.leaning.class01;

import common.util.MyUtil;

/**
 * 插入排序
 *
 * @author guichang
 * @date 2021/5/30
 */

@SuppressWarnings("all")
public class Code3_排序_插入排序 {

    public static void main(String[] args) {
        int[] nums = MyUtil.createRandomArray(10, -4, 6);
        insertionSort(nums);
        MyUtil.printInt(nums);
    }

    /**
     * 0-0 有序
     * 0-1 有序
     * 0-2 有序
     * 0-i 有序
     * 0-n-1 有序
     */
    public static void insertionSort(int[] nums) {
        // 0-i上
        for (int i = 1; i < nums.length; i++) {
            // j与j+1比
            for (int j = i - 1; j >= 0 && nums[j] > nums[j + 1]; j--) {
                MyUtil.swap(nums, j, j + 1);
            }
        }
    }

}